The present invention relates in general to data processing systems, and in particular, to data processing systems adaptable for coupling to USB devices.
Within the past few years, an association of private manufacturers has created a universal standard and method for linking many peripherals to a personal computer simultaneously. This standard is referred to as the Universal Serial Bus (USB). The USB is a communications architecture or xe2x80x9cbusxe2x80x9d that provides a personal computer with the ability to interconnect to a wide variety of devices or peripherals via a relatively simple cable. The cabled peripherals share USB bandwidth through a host-scheduled, boolean based protocol. The bus allows peripherals to be attached, configured, used, and detached while the host and other peripherals are in operation. The USB allows for the replacement of peripherals that have previously been attached to special-purpose interfaces and accessed by direct hardware methods.
Input/output (I/O) devices frequently are shipped with diskettes that contain installation or setup data, diagnostic programs, drivers, a tutorial, a xe2x80x9creadmexe2x80x9d file, and other information. Such diskettes are often misplaced or unavailable when needed.
With respect to USB devices, the present invention eliminates such diskettes and adds functionality.
The present invention addresses the foregoing need. After power up, a USB device enumerates as a xe2x80x9cmass storage devicexe2x80x9d (which typically is a hard file, CD ROM, or floppy drive), even though the device actually is not a xe2x80x9cmass storage device.xe2x80x9d An operating system (OS) independent (e.g., written in Java) USB device agent would be included in the ROM or EPROM of the USB device in the form of an executable file (.exe). After the device enumerates the first time as a xe2x80x9cmass storage device,xe2x80x9d the user would be required to go to Windows Explorer or a DOS window (or equivalent), select the xe2x80x9cmass storage devicexe2x80x9d (denoted by a letter such as j: or k:), and execute the appropriate .exe file containing the agent. The agent would then install itself on the host hard file and thereafter it could function with any other compatible USB device. The agent software would only need to be loaded once.
The device agent would detect when a compatible USB device is enumerated and would then query the device for device dependent information. This information would include what kind of information and software is available to support the device and where the information can be obtained.
Alternatively, the USB device could enumerate as any device capable of inputting data to a host and recognizable by an operating system without a need for an additional driver.
The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention.